package com.boomshake.vo;

import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 用户分页查询结果VO
 *
 * @author BoomShake
 * @date 2024-12-16
 */
@Data
public class UserPageVO {
    
    /**
     * 用户ID
     */
    private Long id;
    
    /**
     * 昵称
     */
    private String nickname;
    
    /**
     * 头像URL
     */
    private String avatar;
    
    /**
     * 手机号
     */
    private String phone;
    
    /**
     * 真实姓名
     */
    private String realName;
    
    /**
     * 性别：1男 2女
     */
    private Integer gender;
    
    /**
     * 生日
     */
    private LocalDate birthday;
    
    /**
     * 实名状态：0未认证 1已认证
     */
    private Integer realNameStatus;
    
    /**
     * 用户状态：1正常 0禁用
     */
    private Integer status;
    
    /**
     * 用户角色列表
     */
    private List<String> roles;
    
    /**
     * 是否为分销员
     */
    private Boolean isDistributor;
    
    /**
     * 分销员信息（如果是分销员）
     */
    private DistributorInfo distributorInfo;
    
    /**
     * 最后登录时间
     */
    private LocalDateTime lastLoginAt;
    
    /**
     * 创建时间
     */
    private LocalDateTime createdAt;
    
    /**
     * 分销员信息
     */
    @Data
    public static class DistributorInfo {
        /**
         * 分销员ID
         */
        private Long distributorId;
        
        /**
         * 分销员编码
         */
        private String distributorCode;
        
        /**
         * 分销等级
         */
        private Integer level;
        
        /**
         * 门店ID
         */
        private Long storeId;
        
        /**
         * 门店名称
         */
        private String storeName;
        
        /**
         * 上级分销员ID
         */
        private Long parentId;
        
        /**
         * 上级分销员名称
         */
        private String parentName;
        
        /**
         * 状态：1激活 0停用
         */
        private Integer status;
    }
} 